#pragma once
#include <arpa/inet.h>
#include <netinet/in.h>
#include <string>
class InetAddress
{
public:
   InetAddress();
    InetAddress(const std::string &ip, uint16_t &port);
    InetAddress(const sockaddr_in &addr);

    const char *ip() const;       // 返回这个对象的成员地址ip
    uint16_t port() const;        // 返回这个对象的端口号
    const sockaddr *addr() const; // 返回结构体的指针把sockaddr_in -> sockaddr
    socklen_t addr_len() const;

    void setAddr(const sockaddr_in& addr);

    ~InetAddress();


private:
    sockaddr_in addr_;
};